Docs Italia beta

Documenti pubblici, digitali.

6.1. Raccomandazioni globali

6.1.1. [RAC_SOAP_001] Le API SOAP DEVONO rispettare il WS-I Basic Profile versione 2.0

Questo profilo è definito dal WS-I (Web Services Interoperability Organization), ora confluito in OASIS. Questa specifica è implementata dai framework più diffusi.

6.1.2. [RAC_SOAP_002] Utilizzo di camelCase e PascalCase

Per i nomi dei servizi si DOVREBBE utilizzare PascalCase.

Per le operazioni implementate e gli argomenti si DOVREBBE utilizzare il camelCase.

6.1.3. [RAC_SOAP_003] Unicità dei namespace e utilizzo di pattern fissi

All’interno del WSDL DOVREBBE essere presente un namespace unico.

6.1.4. [RAC_SOAP_004] Esporre lo stato del servizio

L’API DEVE includere un metodo `echo` per restituire lo stato della stessa.

ESEMPIO: Esposizione stato del servizio

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ws="http://www.example.com/webservice" targetNamespace="http://www.example.com/webservice">
  <wsdl:types>
    <xs:schema>
      <xs:complexType name="userDefinedFault">
        <xs:sequence>
          <xs:element name="errorCode" type="xs:int"/>
          <xs:element name="detail" type="xs:string"/>
          <xs:element name="message" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="requestEcho">
    <wsdl:part name="msg" type="xs:string"/>
  </wsdl:message>
  <wsdl:message name="responseEcho">
    <wsdl:part name="msg" type="xs:string"/>
  </wsdl:message>
  <wsdl:message name="UserDefinedException">
    <wsdl:part name="fault" type="userDefinedFault"/>
  </wsdl:message>
  <wsdl:portType name="portType">
    <wsdl:operation name="echo">
      <wsdl:input message="ws:requestEcho"/>
      <wsdl:output message="ws:responseEcho"/>
      <wsdl:fault name="fault" message="ws:UserDefinedException"/>
    </wsdl:operation>
  </wsdl:portType>
</wsdl:definitions>